<template>
  <ul class="appList">
    <li v-for="(item,index) in appList" :key="index">
      <img :src="item.author.avatar_url" alt="" />
      <section>
        <p>{{item.title}}</p>
        <span>{{item.reply_count}}/{{item.visit_count}}</span>
        <i :class="['iconfont', item.isShouchang?'icon-xingxing':'icon-shoucang']" @click="shou(item)"></i>
      </section>
      <span>{{timeFilter(item.create_at)}}</span>
    </li>
  </ul>
</template>

<script>
import { ref, reactive, toRefs } from "vue";
import { useStore } from 'vuex';
export default {
  props:{
    appList: Array
  },
  setup() {
    const store = useStore();
    const timeFilter = (val) => {
      //   console.log(val);
      let result;
      let timePublish = new Date(val); // 传入的时间 
      let timeNow = new Date(); // 现在的时间 
      let minute = 1000 * 60;
      let hour = minute * 60;
      let day = hour * 24;
      let month = day * 30;
      let year = month * 12;
      let diffValue = timeNow - timePublish; // 时间相差的值，是毫秒 
      let diffMonth = diffValue / month;
      let diffWeek = diffValue / (7 * day);
      let diffDay = diffValue / day;
      let diffHour = diffValue / hour;
      let diffMinute = diffValue / minute;
      let diffYear = diffValue / year;
      if (diffValue < minute) {
        result = "刚刚";
      } else if (diffYear > 1) {
        result = parseInt(diffYear) + "年前";
      } else if (diffMonth > 1) {
        result = parseInt(diffMonth) + "月前";
      } else if (diffWeek > 1) {
        result = parseInt(diffWeek) + "周前";
      } else if (diffDay > 1) {
        result = parseInt(diffDay) + "天前";
      } else if (diffHour > 1) {
        result = parseInt(diffHour) + "小时前";
      } else if (diffMinute > 1) {
        result = parseInt(diffMinute) + "分钟前";
      } 
      return result;
    };

    const shou = (val) => {
       val.isShouchang = !val.isShouchang;
       store.commit('add', val);
    }
    return{
       timeFilter,
       shou
    }
  },
};
</script>
<style lang="scss" scoped>
  li{
    display: flex;
    align-items: center;
    padding: 10px;
    box-sizing: border-box;
    img{
        height: 30px;
    }
    section{
      margin: 0 10px;
      flex: 1;
      font-size: 13px;
    }
  }
</style>